<?php

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/

$app = new Illuminate\Foundation\Application;

/**
 * apache :
 * SetEnv APPCONFIG local
 *
 * nginx :
 * fastcgi_param APPCONFIG "local"
 *
 */
define('APP_DOMAIN_SWITCH_ADMIN','admin');
define('APP_DOMAIN_SWITCH_WWW','www');

define('APP_DOMAIN_SWITCH',array_key_exists('APP_DOMAIN_SWITCH',$_SERVER) ? $_SERVER['APP_DOMAIN_SWITCH'] : APP_DOMAIN_SWITCH_WWW);

$env = $app->detectEnvironment(function () {
    if (!array_key_exists('APPCONFIG', $_SERVER)) return 'local';

    switch ($_SERVER['APPCONFIG']) {
        case 'local':
            $app_config = 'local';
            break;
        case 'testing':
            $app_config = 'testing';
            break;
        case 'qa':
            $app_config = 'qa';
            break;
        case 'production':
            $app_config = 'production';
            break;
        default:
            $app_config = 'local';
    }

    return $app_config;
});

/*
|--------------------------------------------------------------------------
| Bind Paths
|--------------------------------------------------------------------------
|
| Here we are binding the paths configured in paths.php to the app. You
| should not be changing these here. If you need to change these you
| may do so within the paths.php file and they will be bound here.
|
*/

$app->bindInstallPaths(require __DIR__ . '/paths.php');

/*
|--------------------------------------------------------------------------
| Load The Application
|--------------------------------------------------------------------------
|
| Here we will load this Illuminate application. We will keep this in a
| separate location so we can isolate the creation of an application
| from the actual running of the application with a given request.
|
*/

$framework = $app['path.base'] . '/vendor/laravel/framework/src';

require $framework . '/Illuminate/Foundation/start.php';
//记录用户行为
require $app['path.base'] . '/app/events.php';

/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/

return $app;
